﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CROSLAND.BL.BE;
using CROSLAND.DL.DALCF;

namespace CROSLAND.BL.BC
{
    public class AlmacenBC
    {
        #region Singleton
        private AlmacenBC() { }
        private static AlmacenBC _instance = null;
        public static AlmacenBC Instance
        {
            get { return (_instance == null) ? _instance = new AlmacenBC() : _instance; }
        }
        #endregion

        /// <summary>
        /// Devuelve una lista de almacenes de acuerdo al material y al centro.
        /// </summary>
        /// <param name="pObjMaterial">Objeto que contiene el código de material.</param>
        /// <param name="pCodCentro">Código del centro.</param>
        public List<GenericBE> listar(MaterialBE pObjMaterial, string pCodCentro)
        {
            //List<GenericBE> lstAlmacenes = DaoFactory.AlmacenDALC.listar(pObjMaterial.CodMaterial.PadLeft(18, '0'), pCodCentro);
            //if (lstAlmacenes.Count == 0)
            //{
            //    //MaterialBE objMaterial = MaterialBC.Instance.leerMaterial(pCodMaterial);
            //    if (pObjMaterial.TipoMaterial == "NA")
            //    {
            //        lstAlmacenes = this.listar("");
            //        //para tomar solo el almacen 0001
            //        GenericBE objDefault;
            //        if (pObjMaterial.Tipo == "Z002")
            //        {
            //            objDefault = new GenericBE();
            //            objDefault.Codigo = ""; objDefault.Descripcion = "- ninguno -";
            //        }
            //        else
            //        {
            //            objDefault = lstAlmacenes.Find(delegate(GenericBE obj) { return (obj.Codigo == "0001"); });
            //        }
            //        lstAlmacenes.Clear();
            //        lstAlmacenes.Add(objDefault);
            //    }
            //}
            //return lstAlmacenes;
            return null;
        }

        /// <summary>
        /// Devuelve una lista de almacenes de al centro.
        /// </summary>
        /// <param name="pCodCentro">Código del centro.</param>
        public List<GenericBE> listar(string pCodCentro)
        {
            //List<GenericBE> lista = DaoFactory.AlmacenDALC.listar("", pCodCentro);
            //GenericBE objGeneric = new GenericBE();
            //objGeneric.Codigo = ""; objGeneric.Descripcion = "Todos";
            //lista.Add(objGeneric);
            //return lista;
            return null;
        }
    }
}
